Automatic adjustment of a display to obscure data

ABSTRACT

Methods, systems, and computer program products are disclosed for automatically adjusting a display to obscure application data. In an example, a computer-implemented method may include collecting eye data from a user, receiving the eye data collected from the user, analyzing the eye data, determining that eyesight of the user is on a display based on the eye data, providing data on the display to the user when the eyesight of the user is determined to be on the display, determining that the eyesight of the user is off the display, obscuring the data on the display in response to determining that the eyesight of the user is off the display, removing the obscuring applied to the data on the display when the eyesight of the user returns to the display.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 14/584,335 filed Dec. 29, 2014, which isincorporated herein by reference in its entirety.

TECHNICAL FIELD

The present disclosure generally relates to computer systems and, moreparticularly, to protecting sensitive data displayed by a computingdevice.

BACKGROUND

The use of computing devices has become widespread throughout society.For example, many users carry one or more devices, such as smart phones,smart watches, laptops, and tablets at any given time. Further,computing devices have become increasingly important in the personallives of users. For example, users can communicate with family andfriends, purchase goods and services, and access various personal andwork-related data virtually anywhere using smart phones, smart watches,and other portable devices.

In a related trend, corporate workspaces have become increasinglysmaller and collaborative. For example, users may share a commonworkspace lacking walls, dividers, and other protections to safeguardprivacy. As such, many users access personal and confidential data bothin public and at work with little or no privacy. As a result, sensitivedata may be unintentionally displayed to an untrusted or unauthorizedindividual, for example, when a user performs activities using a deviceor temporarily turns their attention elsewhere.

BRIEF DESCRIPTION OF THE DRAWINGS

Various examples of the present disclosure will be understood more fullyfrom the detailed description given below and from the accompanyingdrawings of various examples of the disclosure. In the drawings, likereference numbers may indicate identical or functionally similarelements. The drawing in which an element first appears is generallyindicated by the left-most digit in the corresponding reference number.

FIG. 1 is a block diagram illustrating a system architecture, inaccordance with various examples of the present disclosure.

FIG. 2 is a flow diagram for automatically adjusting a display toobscure application data, according to an example of the presentdisclosure.

FIG. 3 is a flow diagram for automatically adjusting multiple displaysto obscure application data, according to an example of the presentdisclosure.

FIG. 4 is a block diagram of an exemplary computer system that mayperform one or more of the operations described herein.

DETAILED DESCRIPTION

Systems, methods, and computer program products are disclosed forautomatic adjustment of a display to obscure application data.

In an example, a user operates a computing device in a location withlittle privacy or protection to prevent others from viewing the user'sdata. To protect the user's data, a data obscuring system automaticallyobscures sensitive data displayed by the user's computing device.

In an example, a data obscuring system receives and tracks eye data,head data, and/or facial data of a user as the user operates a computingdevice. The data obscuring system then analyzes the data collected fromthe user to determine whether eyesight of the user is on a display ofthe computing device. The data obscuring system presents the data on thedisplay of the computing device when it determines the user's eyesightis on the display. However, the data obscuring system automaticallyadjusts presentation of the display to obscure the data when itdetermines that the user's eyesight is not focused on the display. Thedata obscuring system removes obscuring applied to the display when theuser's eyesight returns to the display and continually adjusts thedisplay accordingly throughout the remainder of the user's session.

Accordingly, aspects of the present disclosure provide novel features toprevent unauthorized and inadvertent disclosure of sensitive data on oneor more displays of a computer system.

FIG. 1 illustrates an exemplary system architecture 100 in whichexamples of the present disclosure may be implemented. Systemarchitecture 100 includes server machine(s) 110, data store(s) 116, andclient machines 102A-102N connected to one or more network(s) 104.Network(s) 104 may be public networks (e.g., the Internet), privatenetworks (e.g., local area networks (LANs) or wide area networks(WANs)), or any combination thereof. In an example, network(s) 104 mayinclude the Internet and/or one or more intranets, wired networks,wireless networks, and/or other appropriate types of communicationnetworks. In one example, network(s) 104 may comprise wirelesstelecommunications networks (e.g., cellular phone networks) adapted tocommunicate with other communication networks, such as the Internet.

Data store 116 is persistent storage capable of storing various types ofdata, such as text, audio, image, and video content. In some examples,data store 116 might be a network-attached file server, while in otherexamples data store 116 might be some other type of persistent storagesuch as an object-oriented database, a relational database, and soforth.

Client machines 102A-102N may be personal computers (PC), laptops,mobile phones, tablet computers, server computers, wearable computingdevices, or any other type of computing device. Client machines102A-102N may run an operating system (OS) that manages hardware andsoftware of the client machines 102A-102N. A browser (not shown) may runon the client machines 102A-102N (e.g., on the OS of the clientmachines). The browser may be a web browser that can access content andservices provided by a web server 120 of server machine 110. Other typesof computer programs and computer scripts also may run on clientmachines 102A-102N.

Client machine 102A includes one or more camera(s) 106, one or moredisplay(s) 108, and data obscuring system 130. Data obscuring system 130includes data collector module 140, data receiver module 150, useridentifier module 160, sight analyzer module 170, and display adjustermodule 180. In an example, a data obscuring system 130, 130A, 130B,130C, 130D may include one or more of a data collector module 140, adata receiver module 150, a user identifier module 160, a sight analyzermodule 170, and a display adjuster module 180. In some examples,functionality associated with data collector module 140, data receivermodule 150, user identifier module 160, sight analyzer module 170, anddisplay adjuster module 180 may be combined, divided, and organized invarious arrangements on one or more computing devices.

In an example, client machine 102A is coupled to one or more camera(s)106, is coupled to one or more display(s) 108, and includes dataobscuring system 130. For example, client machine 102A may be directlyor wirelessly (e.g., via Bluetooth) connected to one or more camera(s)106 and one or more display(s) 108. Camera(s) 106 may include one ormore external cameras (e.g., attached webcams) or one or more camerasthat are embedded, incorporated, or built into a computing device (e.g.,personal computer, laptop, smartphone, smart glasses, various types ofwearable computing devices, etc.).

A camera generally describes an optical instrument that records imagesor other visual data for storage and/or transmission to other locations.In an example, one or more cameras 106 perform eye tracking to measureeye activity and/or eye positioning of a user operating client machine102A. For example, eye tracking data may be collected using a local orhead-mounted eye tracker coupled to client machine 102A.

In an example, an eye tracking device includes a camera 106 and a lightsource (e.g., infrared or other light) directed onto one or more eyes ofa user. A camera 106 may track the reflection of the light source andascertainable ocular features of an eye, such as a pupil. The eye dataof the user then may be used to extrapolate rotation of a user's eye andthe direction of the user's line of sight or gaze.

A display 108 generally refers to an output device for presentingvarious types of information to a user in a digital format. For example,various types of two-dimensional displays include, television sets,computer monitors, head-mounted displays, broadcast reference monitors,medical monitors, etc. Three-dimensional displays may includestereoscopic projections, laser displays, holographic displays, tactileelectronic displays, etc.

In an example, data collector module 140 of data obscuring system 130tracks and collects eye movement data and other eye data from a user. Inone example, data collector module collects biometric eye dataidentifying a user. For example, data collector module 140 may collectiris scan data, pupil scan data, retinal scan data and other types ofeye data from a user. In some examples, data collector module 140collects head and facial data for a user. For example, data collectormodule 140 may collect data about head and/or or facial positioning of auser. Data collector module 140 also may collect facial recognition datafrom a user, for example, to identify the user in a current or futuresession.

In an example, data receiver module 150 of data obscuring system 130receives data collected from a user or from a device worn by the user.For example, data receiver module 150 may receive eye data collectedfrom a user by a camera 106 associated with an eye tracking device. Insome examples, data receiver module 150 receives various types of eyedata from a user, including biometric eye data identifying the user. Inaddition, data receiver module 150 may receive data about thepositioning of a user's head and/or face in relation to one or moredisplays.

In an example, user identifier module 160 of data obscuring system 130determines whether to allow a user of a client machine 102A to view datapresented on one or more displays 108A, 108B. For example, useridentifier module 160 may determine whether to login a user on clientmachine 102A, to lock or unlock client machine 102A, to present data ona display 108 to a user, or to obscure data presented on a display 108based on eye data and/or facial data collected from the user.

In an example, user identifier module 160 automatically locks clientmachine 102A or logs a user off client machine 102A when eye data is notreceived from the user within a predetermined amount of time. In someexamples, user identifier module 160 automatically adjusts a userprofile on client machine 102A in response to identifying a user basedon eye data and/or facial data. For example, user identifier module 160may adjust a user profile used on client machine 102A based on parentalsettings or the security classifications associated with the detecteduser of the client machine 102A based on eye data and/or facialrecognition data.

In an example, user identifier module 160 authenticates a user seekingto use client machine 102A and/or to view data presented or ready forpresentation on a display 108 based on eye data and/or facial data. Forexample, user identifier module 160 may compare data points, signatures,or patterns of eye data and/or facial data of a user to a database oftrusted and/or untrusted user profiles when authenticating orauthorizing a user.

In an example, sight analyzer module 170 of data obscuring system 130analyzes eye data and/or facial data from a user to determine whetherthe user's visual orientation, visual perspective, direction of sight,gaze, or line of sight is on one or more displays 108A, 108B. Forexample, sight analyzer module 170 may detect various changes andperform various calculations involving eye data and/or facial data of auser to determine whether eyesight of the user is on one or moredisplays 108A, 108B.

In an example, sight analyzer module 170 determines whether eyesight ofa user is directed towards or aligned with a display 108 based on acalculated line of sight for the user in reference to position and sizeof the display 108. Sight analyzer module 170 also may determine whethereyesight of a user is focused on an application on a display 108 basedon characteristics of the display 108A and positioning of theapplication on the display.

In an example, display adjuster module 180 of data obscuring system 130automatically adjusts presentation of data on one or more displays 108A,108B based on whether eyesight of a user is determined to be on arespective display 108A, 108B. In one example, display adjuster module180 automatically presents data on a display 108 to a user when eyesightof the user is determined to be on the display 108A. In addition,display adjuster module 180 automatically obscures presentation of thedata on the display 108A when eyesight of the user is determined to beoff the display 108A (e.g., when the user is not looking at the display108A).

Client machine 102N includes camera 106A, display 108A, display 108B,data obscuring system 130B, data obscuring system 130C, data obscuringsystem 130D, operating system 192, data obscuring application 194,application(s) 196, application(s) 198.

In an example, a data obscuring system 130B, 130C, 130D uses camera 106Ato perform eye tracking and to collect eye data from a user. Forexample, camera 106A may track a user's eye movement, collect eyeposition data from the user, collect eye movement data from the user,and/or collect biometric eye data from the user client machine 102N. Inan example, biometric eye data may include optical data that identifiesthe user. For example, biometric eye data may include iris scan data,pupil scan data, retinal scan data, etc.

In an example, a data obscuring system 130B, 130C, 130D automaticallyadjusts one or more displays 108A, 108B based on eye data, facial data,head data and/or other data collected from a user. For example, a dataobscuring system 130B, 130C, 130D may present data on one or moredisplays 108A, 108B to a user when it is determined that the eyesight ofthe user is on one or more of the respective displays 108A, 108B.Eyesight of a user generally refers to a user's visual orientation,visual perspective, direction of sight, gaze, or line of sight as itpertains to a hypothetical or real target, such as a display 108A, 108B.A user's eyesight may be determined by analyzing eye data and/or othertypes of data collected from a user.

In an example, a data obscuring system 130B, 130C, 130D automaticallyadjusts one or more displays 108A, 108B to obscure data based on eyedata collected from a user. For example, a data obscuring system 130B,130C, 130D may obscure data presented on one or more displays 108A, 108Bwhen it is determined that eyesight of the user is off a respectivedisplay 108A, 108B.

In an example, a data obscuring system 130B, 130C, 130D presents data ona first display 108A and obscures data on a second display 108B in adual display configuration when the user looks at the first display andnot the second display. Data obscuring system 130B, 130C, 130D thenautomatically obscures presentation of the data on the first display108A and removes obscuring of the data on the second display 108B whenit is determined that the user's eyesight has moved from the firstdisplay 108A to the second display 108B in the dual monitorconfiguration.

Obscuring generally refers to one or more actions that remove data frombeing presented on a display 108A, 108B and/or render data presented ona display 108A, 108B as unreadable or indecipherable. For example,obscuring data may be performed by minimizing an application, closing anapplication, hiding data, moving an application to the background,redacting data, blurring all or part of an application or display,running a screensaver, displaying a protective image over the data,turning off a display, and/or distorting or rendering material presentedon a display as unidentifiable or not viewable.

In an example, a data obscuring system 130B is provided as part of anoperating system 192. For example, a data obscuring system 130B providedwith operating system 192 may allow a user or computer systemadministrator to select or predetermine which of one or more softwareapplications 196, 198 running on the operating system 192 to obscurewhen eyesight of the user moves off a display 108A, 108B.

For example, a software application 196, 198 developer and/or a computersystem administrator may register or identify a software application196, 198 to be obscured. In addition, a user may register or tagapplication 196, 198 windows, uniquely identified by application windowIDs, to be obscured by a data obscuring system 130B, 130C. In someexamples, a user may tag a software application 196, 198 or window usinga keyboard shortcut. For example, one type of keyboard shortcut may taga software application 196, 198 or window (e.g., a web browser window)to be obscured for the remainder of a session. Another type of keyboardshortcut may allow a user to select obscuring of a software application196, 198 or window for current and future sessions until otherwiseindicated.

In an example, a data obscuring system 130C is provided as part of dataobscuring application 194. For example, a data obscuring application 194installed and running on an operating system 192 may allow a user orcomputer system administrator to select or predetermine which of one ormore software applications 196, 198 obscure when eyesight of the user isoff a display 108A, 108B. In one example, a data obscuring application194 provides an application programming interface (API) that allowsother software applications 196, 198 to perform obscuring of displayeddata.

In an example, a data obscuring system 130D is provided as part of oneor more software application(s) 196. For example, a software developermay include data obscuring system 130D functionality within a softwareapplication 196 to allow a user or a computer system administrator toselect or predetermine whether an application 196 or specificsensitive/private data within the application 196 is to be obscured wheneyesight of the user is off the display 108A, 108.

In some examples, data obscuring system 130D functionality ispredetermined and not configurable by a user or computer systemadministrator. For example, a software application 196 may be designedby an application developer to provide configurable or non-configurableobscuring for various application data and graphical user interfacecontrols (e.g., labels, buttons, menus, lists, drop downs, windows,tabs, dialogues, panels, tables, graphics, etc.).

In an example, various software application(s) 198 do not have or use adata obscuring system (e.g. data obscuring system 130). In someexamples, software application(s) 198 without a data obscuring systemmay be obscured or have application 198 data obscured, for example, byan operating system 192 data obscuring system 130B and/or a dataobscuring system 130C of a data obscuring application 194.

Server machines 110 may include one or more web server(s) 120. Webserver(s) 120 may provide text, audio, and video images from datastore(s) 116 to client machines 102A-102N. Web server(s) 120 also mayprovide web-based application services, business logic, and/or updatesto client machines 102A-102N. Client machines 102A-102N may locate,access, and consume various forms of content and services from webserver(s) 120 using applications, such as a web browser, web servers,application servers, computer programs, etc. Web server(s) 120 also mayreceive text, audio, video, and image content from clients 102A-102Nsaved in data store(s) 116 for purposes that may include preservationand distribution of content.

In an example, a web server 120 is coupled to one or more applicationsservers (not shown) that provide application 114 services, data, and/orAPIs to client machines 102A-102N. In one example, web server(s) 120 mayprovide clients 102A-102N with access to one or more application 114services associated with a server-based data obscuring system 130A. Suchfunctionality also may be provided, for example, as part of one or moredifferent web applications, standalone applications, systems, plug-ins,web browser extensions, and application programming interfaces (APIs).In some examples, plug-ins and extensions also may be referred to,individually or collectively, as “add-ons.”

In an example, some client machines 102A-102N may include applicationsassociated with a service provided by server machine 110. In oneexample, one or more device types (e.g., smart phones, smarttelevisions, tablet computers, wearable devices, smart home computersystems, etc.) may use applications to access content provided by, toissue commands to server machine(s) 110, and/or to receive content fromserver machine(s) 110 without visiting or using web pages.

In an example, functions performed by server machine(s) 110 and/or webserver(s) 120 also may be performed by the client machines 102A-102N, inwhole or in part. In addition, the functionality attributed to aparticular component may be performed by different or multiplecomponents operating together. Further, server machine(s) 110 may beaccessed as a service provided to other systems or devices viaappropriate application programming interfaces (APIs), and thus are notlimited to use with websites.

FIG. 2 is a flow diagram for automatically adjusting a display toobscure application data, according to an example of the presentdisclosure. The method 200 may be performed by processing logic that maycomprise hardware (circuitry, dedicated logic, programmable logic,microcode, etc.), software (such as instructions run on a generalpurpose computer system, dedicated machine, or processing device),firmware, or a combination thereof.

Method 200 begins at block 202 when data receiver module 150 of dataobscuring system 130 receives eye data from a user. In an example, datareceiver module 150 receives eye data from one or more cameras 106associated with an eye tracking device. For example, data receivermodule 150 may receive eye position, eye movement, and other eyetracking data from an eye tracking device. Data receiver module 150 alsomay receive biometric eye data, such as iris scan data, pupil scan dataand retinal scan data that identifies a user. In some examples, datareceiver module 150 receives head position data, facial position, and/orfacial recognition data collected from a user.

At block 204, sight analyzer module 170 of data obscuring system 130analyzes the eye data received from the user to determine whethereyesight of the user is on a display 108. In an example, sight analyzermodule 170 determines whether eyesight of a user is directed towards oraligned with a display 108 based on a calculated line of sight for theuser in reference to position and size of the display 108. Sightanalyzer module 170 also may determine whether eyesight of a user is onan application presented within a display 108 area based oncharacteristics of the display 108A area and positioning of theapplication within the display area.

In an example, sight analyzer module 170 detects a change in eyesight ofa user. For example, sight analyzer module 170 may detect a change ineyesight of a user based on updated eye data received from the user. Inone example, sight analyzer module 170 performs eye data and eyesightanalysis to determine and/or re-determine whether the eyesight of theuser is on one or more displays 108A, 108B.

At block 206, display adjuster module 180 of data obscuring system 130obscures data on the display in response to determining that theeyesight of the user is off the display 108. In an example, displayadjuster module 180 secures some or all of data presented on a display108 in response to detecting that eyesight of the user is not focused onthe display 108.

In an example, display adjuster module 180 obscures presentation of dataon a display 108 by obscuring an entire display 108. Display adjustermodule 180 also may obscure one or more applications 196, 198 presentedon the display 108 and/or one or more areas of data presented on thedisplay, for example, the areas comprising sensitive, private, and/orconfidential data provided by applications 196, 198. In some examples,display adjuster module 180 obscures data presented on a display inreal-time or substantially in real-time (e.g., under a second, under atenth of a second, under one hundredth of a second, etc.)

In an example, display adjuster module 180 obscures web browser softwareapplications and data presented on a display 108 in response todetermining that eyesight of a user off the display 108. For example, aweb browser may include its own data obscuring system 130D or use a dataobscuring application 194 available on a client machine 102A to obscureweb browser windows, tabs, data, etc.

In an example, a web browser plug-in obscures web browser applicationsand data. For example, a web browser plug-in may receive data that ituses to determine whether to obscure web browser applications and data.In one example, an application developer may code web application usingcustom tags and/or scripts that mark web application data as sensitive,indicating to a web browser or a web browser plug-in that the webapplication data is to be obscured. In some examples, a web browserand/or a web browser plug-in also may dynamically inject code into awebpage, for example during rendering of the webpage, to perform theobscuring (e.g., custom HTML, dynamic HTML, JavaScript, etc.).

In some examples, data obscuring system 130 uses other types of detectedinformation in addition to eye data and eyesight analysis. For example,data obscuring system 130, may present data on a display to a userwithout performing obscuring when detecting sole presence of the user,when detecting presence of trusted users, and/or when detecting absenceof untrusted users in an area, space (e.g., room), or within viewingdistance of a display 108. Thus, a display 108 or content presented on adisplay 108 may remain visible (no obscuring) when there is a low ornonexistent risk of an unwanted (e.g., unknown, untrusted, unauthorized)user viewing a display 108 or presented data.

In some examples, data obscuring system 130 may perform obscuring whendetecting that an individual (e.g., a known individual, an unknownindividual, a trusted individual, an untrusted individual, etc.) otherthan a user has entered a location, is about to enter a location, iswithin viewing distance of a display 108, or is about to be withinviewing distance of a display 108. In some examples, data obscuringsystem 130 determines whether a detected individual other than a user isauthorized to view one or more portions of content presented on adisplay 108 and may obscure one or more parts of the content that thedetected individual is unauthorized to view (e.g., sensitive data,private data, classified data, etc). On the other hand, when theindividual is authorized to view the content (e.g., a co-worker or bossviewing a presentation), the content may remain visible (i.e., with noobscuring applied, “unobscured”) even when eyesight of the user isdetected as being off a display 108 (e.g., when the user looks away, atanother display, or at paper notes).

FIG. 3 is a flow diagram for is a flow diagram for automaticallyadjusting multiple displays to obscure application data, according to anexample of the present disclosure. The method 300 may be performed byprocessing logic that may comprise hardware (circuitry, dedicated logic,programmable logic, microcode, etc.), software (such as instructions runon a general purpose computer system, dedicated machine, or processingdevice), firmware, or a combination thereof.

Method 300 begins at block 302 when data receiver module 150 of dataobscuring system 130 receives eye data collected from a user. In anexample, data receiver module 150 receives eye data from one or morecameras 106. For example, data receiver module 150 may receive eyeposition data, eye movement data, and other eye tracking data from aneye tracking device or other type of computing device. Data receivermodule 150 also may receive biometric eye data (e.g., iris data, pupildata, retinal data) identifying a user. In some examples, data receivermodule 150 receives head position data, facial position data, and/orfacial recognition data collected from a user.

At block 304, sight analyzer module 170 of data obscuring system 130determines that eyesight of a user is on a first display 108A. Forexample, sight analyzer module 170 may use one or more of eye data, headdata, facial data, or other types of data collected from a user todetermine that the user's focus is on the first display 108A. In oneexample, sight analyzer module 170 determines that eyesight of the useris on the first display 108A based on eye data of the user in relationto a size and position of the first display 108A.

At block 306, display adjuster module 180 of data obscuring system 130presents data on the first display 108A to a user. In an example,display adjuster module 180 allows the regular, non-obscuredpresentation of data on the first display 108A when the eyesight of theuser is determined to be directed towards or focused on the firstdisplay 108A. In one example, display adjuster module 180 restorespresentation of data on the first display 108A by removing obscuringpreviously applied to the first display 108A. For example, displayadjuster module 180 may remove obscuring from the first display 108Awhen the eyesight of the user returns to the first display 108A afterbeing directed towards another location.

At block 308, sight analyzer module 170 of data obscuring system 130determines that eyesight of a user is off the first display 108A. In anexample, sight analyzer module 170 determines that the direction orfocus of the user's eyesight has moved to a location that is not on thefirst display 108A. For example, sight analyzer module 170 may determinethat the eyesight of the user is off the first display 108A based on eyedata, head data, and/or facial data collected from the user in relationto a size and position data associated with the first display 108A.

At block 310, display adjuster module 180 of data obscuring system 130obscures data on the second display 108B in response to determining thatthe eyesight of the user is off the second display 108B. In an example,sight analyzer module 170 adjusts presentation of the data on the seconddisplay 108B by obscuring the data.

For example, sight analyzer module 170 may remove the data from thesecond display 108B or alter presentation of the data on the seconddisplay 108B by making the data unreadable or indecipherable. In someexamples, data obscuring system may obscure data by minimizing anapplication, closing an application, hiding data, moving an applicationto the background, redacting data, blurring all or part of anapplication or display, running a screensaver, displaying a protectiveimage on a display over the data, turning off a display, and/ordistorting or rendering material presented on a display asunidentifiable or not viewable.

At block 312, sight analyzer module 170 of data obscuring system 130detects a change in the eye data of the user. In an example, sightanalyzer module 170 compares updated eye data from a user to previouseye data received from the user to detect the change. Sight analyzermodule 170 also may detect a change in one or more other types of userdata, such as head data, facial data, etc. In one example, sightanalyzer module 170 calculates or recalculates a user's line of sight inresponse to detecting a change in eye data, head data, and/or facialdata of a user.

At block 314, display adjuster module 180 of data obscuring system 130automatically obscures the data on the first display 108A and removesthe obscuring from the second display 108B in response to determiningthat the eyesight of the user transitioned from the first display 108Ato the second display 108B. In an example, display adjuster module 180dynamically applies obscuring to and removes the obscuring from one ormore displays 108A, 108B based on whether the user's eyesight isdirected toward a respective display 108A, 108B. In one example, displayadjuster module 180 obscures the presentation of data on both the firstdisplay 108A and the second display 108B when user's eyesight is offboth displays.

FIG. 4 illustrates a diagram of a machine in the exemplary form of acomputer system 400, within which a set of instructions for causing themachine to perform any one or more of the methodologies discussed hereinmay be executed. In other examples, the machine may be connected (e.g.,networked) to other machines in a LAN, an intranet, an extranet, or theInternet. The machine may operate in the capacity of a server or aclient machine in client-server network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, awearable computing device, a web appliance, a server, a network router,switch or bridge, or any machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine. Further, while only a single machine is illustrated,the term “machine” shall also be taken to include any collection ofmachines that individually or jointly execute a set (or multiple sets)of instructions to perform any one or more of the methodologiesdiscussed herein.

The exemplary computer system 400 includes a processing device(processor) 402, a main memory 404 (e.g., read-only memory (ROM), flashmemory, dynamic random access memory (DRAM) such as synchronous DRAM(SDRAM), double data rate (DDR SDRAM), or DRAM (RDRAM), etc.), a staticmemory 406 (e.g., flash memory, static random access memory (SRAM),etc.), and a data storage device 418, which communicate with each othervia a bus 430.

Processor 402 represents one or more general-purpose processing devicessuch as a microprocessor, central processing unit, or the like. Moreparticularly, the processor 402 may be a complex instruction setcomputing (CISC) microprocessor, reduced instruction set computing(RISC) microprocessor, very long instruction word (VLIW) microprocessor,or a processor implementing other instruction sets or processorsimplementing a combination of instruction sets. The processor 402 alsomay be one or more special-purpose processing devices such as anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), a digital signal processor (DSP), network processor,or the like. The processor 402 is configured to execute instructions 422for performing the operations and steps discussed herein.

The computer system 400 also may include a network interface device 408.The computer system 400 may further include a video display unit 410(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), analphanumeric input device 412 (e.g., a keyboard), a cursor controldevice 414 (e.g., a mouse), and a signal generation device 416 (e.g., aspeaker).

The data storage device 418 may include a computer-readable storagemedium 428 on which is stored one or more sets of instructions 422(e.g., software computer instructions) embodying any one or more of themethodologies or functions described herein. The instructions 422 alsomay reside, completely or at least partially, within the main memory 404and/or within the processor 402 during execution thereof by the computersystem 400, the main memory 404 and the processor 402 also constitutingcomputer-readable storage media. The instructions 422 may be transmittedor received over a network 420 via the network interface device 408.

In one example, the instructions 422 include instructions for one ormore modules of a data obscuring system (e.g., data obscuring system 130of FIG. 1) and/or a software library containing methods that call anautomated data obscuring system 130. While the computer-readable storagemedium 428 (machine-readable storage medium) is shown as an example tobe a single medium, the term “computer-readable storage medium” shouldbe taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The term“computer-readable storage medium” also may include any medium that iscapable of storing, encoding or carrying a set of instructions forexecution by the machine and that cause the machine to perform any oneor more of the methodologies of the present disclosure. The term“computer-readable storage medium” shall accordingly be taken toinclude, but not be limited to, solid-state memories, optical media, andmagnetic media.

Numerous details are set forth in the foregoing description. However, itwill be apparent to one of ordinary skill in the art having the benefitof this disclosure that the present disclosure may be practiced withoutthese specific details. In some instances, well-known structures anddevices are shown in block diagram form, rather than in detail, to avoidobscuring the present disclosure.

Some portions of the detailed description have been presented in termsof algorithms and symbolic representations of operations on data bitswithin a computer memory. Here, an algorithm is generally conceived tobe a self-consistent sequence of steps leading to a desired result. Thesteps are those requiring physical manipulations of physical quantities.Usually, though not necessarily, these quantities take the form ofelectrical or magnetic signals capable of being stored, transferred,combined, compared, and otherwise manipulated. It has proven convenientat times, for reasons of common usage, to refer to these signals asbits, values, elements, symbols, characters, terms, numbers, or thelike.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “computing”, “capturing”, “determining”, “obscuring”,“providing”, “receiving, ” “processing,” or the like, refer to theactions and processes of a computer system, or similar electroniccomputing device, that manipulates and transforms data represented asphysical (e.g., electronic) quantities within the computer system'sregisters and memories into other data similarly represented as physicalquantities within the computer system memories or registers or othersuch information storage, transmission or display devices.

Certain examples of the present disclosure also relate to an apparatusfor performing the operations herein. This apparatus may be constructedfor the intended purposes, or it may comprise a general-purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding floppy disks, optical disks, CD-ROMs, and magnetic-opticaldisks, read-only memories (ROMs), random access memories (RAMs), EPROMs,EEPROMs, magnetic or optical cards, or any type of media suitable forstoring electronic instructions.

It is to be understood that the above description is intended to beillustrative, and not restrictive. Many other examples will be apparentto those of skill in the art upon reading and understanding the abovedescription. The scope of the disclosure therefore should be determinedwith reference to the appended claims, along with the full scope ofequivalents to which such claims are entitled.

1. (canceled)
 2. A system, comprising: a non-transitory memory; and oneor more hardware processors coupled to the non-transitory memory andconfigured to read instructions from the non-transitory memory to causethe system to perform operations comprising: receiving presentation datafor presenting content on a display; obtaining eye data associated of auser viewing the display; determining a first threat level based onanalyzing the eye data associated of the user; altering the presentationdata to obscure at least a portion of the content based on the firstthreat level before rendering the altered presentation data on thedisplay; and rendering the altered presentation data on the display. 3.The system of claim 2, wherein the presentation data comprisesprogramming code.
 4. The system of claim 2, wherein the presentationdata comprises web data.
 5. The system of claim 2, wherein analyzing theeye data comprises: determining a gaze of the user is off the displaybased on the eye data, wherein the first threat level is determinedbased on the determining the gaze of the user is off the display.
 6. Thesystem of claim 2, wherein the first threat level indicates that theuser is untrusted.
 7. The system of claim 6, wherein analyzing the eyedata comprises: deriving an eye movement pattern based on the eye data;and determining the user is untrusted based on the derived eye movementpattern.
 8. The system of claim 7, wherein analyzing the eye datafurther comprises comparing the eye movement pattern against a set oftrusted eye movement patterns.
 9. The system of claim 2, wherein theoperations further comprise: receiving updated eye data associated withthe user; determining a second threat level based on analyzing theupdated eye data associated with the user; reverting to the presentationdata based on the second threat level; and rendering the revertedpresentation data on the display.
 10. The system of claim 2, wherein theoperations further comprise: obtaining facial data associated with theuser viewing the display, wherein the first threat level is determinedfurther based on the obtained facial data.
 11. The system of claim 2,further comprising a camera configured to capture the eye data.
 12. Thesystem of claim 2, wherein the display is a first display, wherein thepresentation data is first presentation data for presenting firstcontent on the first display, and wherein the operations furthercomprise: receiving second presentation data for presenting secondcontent on a second display; determining a gaze of the user is on thesecond display based on analyzing the eye data; and rendering the secondpresentation data for display on the second display.
 13. The system ofclaim 12, wherein the operations further comprise: receiving updated eyedata; in response to determining the gaze of the user has moved from thesecond display to the first display based on the updated eye data, (i)altering the second presentation data to obfuscate at least a portion ofthe second content and (ii) reverting to the first presentation data;rendering the altered second presentation data for display on the seconddisplay; and rendering the reverted first presentation data for displayon the first display.
 14. A method, comprising: receiving, by one ormore hardware processors, presentation data for presenting content on adisplay; obtaining, by the one or more hardware processors, eye dataassociated of a user viewing the display; analyzing, by the one or morehardware processors, the eye data to determine a gaze of the user is offthe display; in response to determining the gaze of the user is off thedisplay, altering, by the one or more hardware processors, thepresentation data to obscure at least a portion of the content beforerendering the altered presentation data on the display; and rendering,by the one or more hardware processors, the altered presentation data onthe display.
 15. The method of claim 14, wherein the presentation datacomprises programming code.
 16. The method of claim 14, wherein thepresentation data comprises web data.
 17. The method of claim 14,further comprising: deriving an eye movement pattern based on the eyedata; determining the user is untrusted based on the derived eyemovement pattern; and maintaining the rendering of the alteredpresentation data after determining the gaze of the user has moved tothe display.
 18. The method of claim 17, wherein determining the user isuntrusted comprises comparing the derived eye movement pattern against aset of trusted eye movement patterns.
 19. The method of claim 14,further comprising: receiving updated eye data associated with the user;analyzing the updated eye data to determine the gaze of the user hasmoved to the display; reverting to the presentation data based ondetermining the gaze of the user has moved to the display; and renderingthe reverted presentation data on the display.
 20. A non-transitorymachine-readable medium having stored thereon machine-readableinstructions executable to cause a machine to perform operationscomprising: receiving presentation data for presenting content on adisplay; obtaining eye data associated of a user viewing the display;determining a first threat level based on analyzing the eye dataassociated of the user; altering the presentation data to obscure atleast a portion of the content based on the first threat level beforerendering the altered presentation data on the display; and renderingthe altered presentation data on the display.
 21. The non-transitorymachine-readable medium of claim 20, wherein the display is a firstdisplay, wherein the presentation data is first presentation data forpresenting first content on the first display, and wherein theoperations further comprise: receiving second presentation data forpresenting second content on a second display; determining the gaze ofthe user is on the second display based on analyzing the eye data; andrendering the second presentation data for display on the seconddisplay.